package com.zpark.feign.i_feign;

import com.zpark.feign.i_feign.impl.RankingFeignImpl;
import com.zpark.feign.pojo.Ranking;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.List;

/**
 * 注解@FeignClient的作用是声接口开启feign功能
 * 属性 value：指定映射的微服务（即在服务注册中心的服务名字）
 * 属性 fallback：当服务提供者宕机之后，执行指定实现类中的方法，而不是调用宕机的服务器接口
 */
// 开启远程接口调用
@FeignClient(value = "user-service", fallback = RankingFeignImpl.class)
public interface IRankingFeign {
    @PostMapping("/service/all")
    List<Ranking> findAll1();

    @GetMapping("/service/find_id/{id}")
    Ranking findById1(@PathVariable Integer id);
}
